/**
 * Copyright Spectra, Inc. All Rights Reserved.
 */
package spectra.ee.web;

/**
 * 고객센터 공통 상수정의 클래스.<br/>
 * @author kwlee
 *
 */
public class WebPublic
{

    /** STRING_DELIMITER */
    public static final String STRING_DELIMITER = new Character((char) 30).toString();

    /** 공통 플래그/타입 : Y. */
    public static final String FLAG_Y = "Y";

    /** 공통 플래그/타입 : N. */
    public static final String FLAG_N = "N";

    /** 시스템타입 : 시스템정의. */
    public static final String SYSTEM_TYPE_SYSTEM = "TYSYS";
    /** 시스템타입 : 사용자정의. */
    public static final String SYSTEM_TYPE_USER = "TYUSR";

    /** t_last_update 테이블의 업데이트ID. (향후 삭제 예정) */
    public static final String UPDATE_ID_CFG_PROPERTY = "CONFIG_PROPERTY";

    /** env_value. (향후 삭제 예정) */
    public static final String UPDATE_ID_ENV_VALUE = "ENV_VALUE";

    /** 설정프로퍼티 최종수정일자. */
    public static final String STATUS_ID_CONFIG_PROPERTY_LAST_UPDATE    = "CONFIG_PROPERTY_LAST_UPDATE";

    /** 환경설정값 최종수정일자. */
    public static final String STATUS_ID_ENV_VALUE_LAST_UPDATE          = "ENV_VALUE_LAST_UPDATE";


    /** 환경변수값을 가져오기 위한  서비스 항목 : COMMON. */
    public static final String CFG_SVC_COMMON = "COMMON";

    /** 환경변수값을 가져오기 위한  서비스 항목 : KB. */
    public static final String CFG_SVC_KB = "KB";

    /** 환경변수값을 가져오기 위한  서비스 항목 : QNA. */
    public static final String CFG_SVC_QNA = "QNA";

    /** 환경변수값을 가져오기 위한  서비스 항목 : CHAT. */
    public static final String CFG_SVC_CHAT = "CHAT";

    /** 환경변수값을 가져오기 위한  프라퍼티 아이디 항목 : 검색권한코드(?)*/
    public static final String CFG_PROP_SEARCH_AUTH_CODE = "SEARCH_AUTH_CODE";

    /** 환경변수값을 가져오기 위한  프라퍼티 아이디 항목 : 검색서버*/
    public static final String CFG_PROP_SEARCH_SERVER = "SEARCH_SERVER";

    /** 환경변수값을 가져오기 위한  프라퍼티 아이디 항목 : 검색포트*/
    public static final String CFG_PROP_SEARCH_PORT = "SEARCH_PORT";

    /** 환경변수ID : 도메인 로케일 */
    public static final String COM_DOMAIN_LOCALE               = "COM_DOMAIN_LOCALE";

    /** 환경변수ID : 도메인 타임존 */
    public static final String COM_DOMAIN_TIME_ZONE            = "COM_DOMAIN_TIME_ZONE";

    /** 환경변수ID : [QnA] 고객첨부파일 최대 용량제한 */
    public static final String QNA_CUSTOMER_ATTACH_MAX_SIZE    = "QNA_CUSTOMER_ATTACH_MAX_SIZE";

    /** 환경변수ID : [QnA] 고객첨부파일 사용여부 */
    public static final String QNA_CUSTOMER_ATTACH_USE_FLAG    = "QNA_CUSTOMER_ATTACH_USE_FLAG";

    /** 환경변수ID : [QnA] 인덱싱 대상 기간 */
    public static final String QNA_INDEXING_PERIOD             = "QNA_INDEXING_PERIOD";

    /** 환경변수ID : [QnA] 인덱싱 사용여부 */
    public static final String QNA_INDEXING_USE_FLAG           = "QNA_INDEXING_USE_FLAG";

    /** 환경변수ID : 답변처리여부 */
    public static final String QNA_ANSWER_STATUS_NOT_ANSWER	 = "ANNOT";

    /** 환경변수ID : [FAQ] 첨부파일 사용여부 */
    public static final String FAQ_ATTACH_USE_FLAG             = "FAQ_ATTACH_USE_FLAG";

    /** 환경변수ID : [FAQ] TOP N 개수 */
    public static final String FAQ_KB_TOPN_COUNT               = "FAQ_KB_TOPN_COUNT";

    /** 환경변수ID : [FAQ] TOP N 시스템타입 */
    public static final String FAQ_KB_TOPN_SYSTEM_TYPE         = "FAQ_KB_TOPN_SYSTEM_TYPE";

    /** 환경변수ID : [FAQ] 키워드 TOP N 개수 */
    public static final String FAQ_KEYWORD_TOPN_COUNT          = "FAQ_KEYWORD_TOPN_COUNT";

    /** 환경변수ID : [FAQ] 키워드 TOP N 시스템타입 */
    public static final String FAQ_KEYWORD_TOPN_SYSTEM_TYPE    = "FAQ_KEYWORD_TOPN_SYSTEM_TYPE";

    /** 환경변수ID : [FAQ] 페이지당 목록수 */
    public static final String FAQ_PAGE_ROW_COUNT              = "FAQ_PAGE_ROW_COUNT";

    /** 환경변수ID : [FAQ] 페이지 정렬순서 */
    public static final String FAQ_PAGE_SORT_TYPE              = "FAQ_PAGE_SORT_TYPE";

    /** 환경변수ID : [FAQ] 검색 질문 예제 */
    public static final String FAQ_SEARCH_QUESTION_SAMPLE      = "FAQ_SEARCH_QUESTION_SAMPLE";

    /** 환경변수ID : [FAQ] 검색 결과수 */
    public static final String FAQ_SEARCH_RESULT_COUNT         = "FAQ_SEARCH_RESULT_COUNT";
    
    /** 환경변수ID : [상담지식] 첨부파일 사용여부 */
    public static final String KNW_ATTACH_USE_FLAG             = "KNW_ATTACH_USE_FLAG";

    /** 환경변수ID : [상담지식] TOP N 개수 */
    public static final String KNW_KB_TOPN_COUNT               = "KNW_KB_TOPN_COUNT";

    /** 환경변수ID : [상담지식] TOP N 시스템타입 */
    public static final String KNW_KB_TOPN_SYSTEM_TYPE         = "KNW_KB_TOPN_SYSTEM_TYPE";

    /** 환경변수ID : [상담지식] 키워드 TOP N 개수 */
    public static final String KNW_KEYWORD_TOPN_COUNT          = "KNW_KEYWORD_TOPN_COUNT";

    /** 환경변수ID : [상담지식] 키워드 TOP N 시스템타입 */
    public static final String KNW_KEYWORD_TOPN_SYSTEM_TYPE    = "KNW_KEYWORD_TOPN_SYSTEM_TYPE";

    /** 환경변수ID : [상담지식] 페이지당 목록수 */
    public static final String KNW_PAGE_ROW_COUNT              = "KNW_PAGE_ROW_COUNT";

    /** 환경변수ID : [상담지식] 페이지 정렬순서 */
    public static final String KNW_PAGE_SORT_TYPE              = "KNW_PAGE_SORT_TYPE";

    /** 환경변수ID : [상담지식] 검색 결과수 */
    public static final String KNW_SEARCH_RESULT_COUNT         = "KNW_SEARCH_RESULT_COUNT";
    
    /** 환경변수ID : EE 서버 URL */
    public static final String URL_WEBAPPS                     = "URL_WEBAPPS";

    /** 첨부파일 관련 환경변수 : EE 서버와 도메인 고객센터 분리여부 */
    public static final String COM_SERVER_STRUCTURE_TYPE       = "COM_SERVER_STRUCTURE_TYPE";

    /** 첨부파일 관련 환경변수 : 도메인의 첨부파일 디렉토리 */
    public static final String COM_ATTACH_DIR                  = "COM_ATTACH_DIR";

    /** 첨부파일 관련 환경변수 : 시스템 전체의 첨부파일 디렉토리 */
    public static final String DIR_DATAFILE_HOME               = "DIR_DATAFILE_HOME";

    /** 첨부파일 관련 환경변수 : EE 서버의 공용 다운로드 URL */
    public static final String ATTACH_DOWNLOAD_URL             = "ATTACH_DOWNLOAD_URL";

    /** 첨부파일 관련 환경변수 : EE 서버의 공용 업로드 URL */
    public static final String ATTACH_UPLOAD_URL               = "ATTACH_UPLOAD_URL";

    /** 페이지 정렬타입 : 질문 등록일 내림차순 */
    public static final String PAGE_SORT_TYPE_CREATED_DATE_DESC = "PAGE_CREATED_DATE_DESC";

    /** 페이지 정렬타입 : 질문 조회수 내림차순 */
    public static final String PAGE_SORT_TYPE_HIT_COUNT_DESC    = "PAGE_HIT_COUNT_DESC";

    /** 페이지 정렬타입 : 질문 오름차순 */
    public static final String PAGE_SORT_TYPE_TITLE_ASC         = "PAGE_TITLE_ASC";

    /** 페이지 정렬타입 : 질문 내림차순 */
    public static final String PAGE_SORT_TYPE_TITLE_DESC        = "PAGE_TITLE_DESC";

    /** 페이지 정렬타입 : 질문 수정일 내림차순 */
    public static final String PAGE_SORT_TYPE_UPDATED_DATE_DESC = "PAGE_UPDATED_DATE_DESC";

    /** 페이지 정렬타입 : 사용자 정의순 */
    public static final String PAGE_SORT_TYPE_USER_DEFINE       = "PAGE_USER_DEFINE";

    /** EE 서버와 도메인 고객센터 동일함 */
    public static final String COM_SERVER_STRUCTURE_TYPE_COM    = "TYCOM";

    /** EE 서버와 도메인 고객센터 분리됨 */
    public static final String COM_SERVER_STRUCTURE_TYPE_DIV    = "TYDIV";

    /** 댓글 작성자 타입 : 상담원 */
    public static final String TYPE_ACCOUNT                     = "TYACC";

    /** 댓글 작성자 타입 : 고객 */
    public static final String TYPE_CUSTOMER                    = "TYCUS";
    
    // KBHelper 설정
    /** 결과값 */
    public static final String RESULT_STRING = "RESULT";
    /** 성공값 */
    public static final String SUCCESS_STRING = "SUCCESS";
    /** 실패값 */
    public static final String FAIL_STRING = "FAIL";
    /** 메세지 */
    public static final String MESSAGE_STRING = "MESSAGE";
    /** 리소스 아이디 */
    public static final String RESOURCE_ID_STRING = "RESOURCE_ID";
    /** 계정  */
    public static final String ACCOUNT_STRING = "ACCOUNT";
    
    // 서비스타입 (service_type)
    /** 서비스타입 : 공통 */
    public static final String SERVICE_TYPE_COM  = "SVCOM";
    /** 서비스타입 : 상담지식 */
    public static final String SERVICE_TYPE_KB   = "SVKNW";
    /** 서비스타입 : FAQ */
    public static final String SERVICE_TYPE_FAQ  = "SVFAQ";
    /** 서비스타입 : QnA */
    public static final String SERVICE_TYPE_QNA  = "SVQNA";
    /** 서비스타입 : 채팅 */
    public static final String SERVICE_TYPE_CHAT = "SVCHT";
    /** 서비스타입 : SNS */
    public static final String SERVICE_TYPE_SNS  = "SVSNS";
    
    /** KBHelper Login session id */
    public static final String KBHELPER_LOGIN_SESSION_ID = "kbHelperLoginInfo";
    
    // contents 를 db에  넣을 때 잘라 넣는 크기
    public static final int MAX_CONTENTS_LENGTH = 1300; // 650
    
    // 제안/신고의 승인상태
    /** 접수상태 */
    public static final String PROPOSAL_APPROVAL_STATUS_RECEIVE = "APREC";
    /** 채택상태 */
    public static final String PROPOSAL_APPROVAL_STATUS_ACCEPT = "APACC";
    /** 반려상태 */
    public static final String PROPOSAL_APPROVAL_STATUS_REJECT = "APREJ";
    /** 등록완료상태 */
    public static final String PROPOSAL_APPROVAL_STATUS_END = "APEND";
    
    /** 지식 제안 */
    public static final String PROPOSAL_TYPE_PROPOSAL = "TYPRO";
    /** 지식 신고 */
    public static final String PROPOSAL_TYPE_ERROR = "TYERR";
    /** 질문내용 */
    public static final String CONTENTS_TYPE_QUESTION = "Q";
    /** 답변내용 */
    public static final String CONTENTS_TYPE_ANSWER   = "A";
    
    /** 즐겨찾기 ROOT ID */
    public static final String FAVORITE_ROOT_ID = "FAVO0000000000";
    
///////////////////////////////////////////////////////////////////////////
    // 채널ID (t_channel.channel_id) : 접수채널
    /** 접수채널ID : 웹 */
    public static final String QNA_CHANNEL_INPUT_WEB    = "CHNL0000000011";
    /** 접수채널ID : 메일 */
    public static final String QNA_CHANNEL_INPUT_EMAIL  = "CHNL0000000012";
    /** 접수채널ID : MO */
    public static final String QNA_CHANNEL_INPUT_MOBILE = "CHNL0000000013";
    /** 접수채널ID : 스마트폰 */
    public static final String QNA_CHANNEL_INPUT_SMARTPHONE = "CHNL0000000018";

    ///////////////////////////////////////////////////////////////////////////
    // 채널ID (t_channel.channel_id) : 답변채널
    /** 답변채널ID : 미처리 */
    public static final String QNA_CHANNEL_NOT_ANSWER   = "CHNL0000000001";
    /** 답변채널ID : MO */
    public static final String QNA_CHANNEL_OUTPUT_MO    = "CHNL0000000004";
    /** 답변채널ID : 자동답변 */
    public static final String QNA_CHANNEL_OUTPUT_AUTO  = "CHNL0000000098";
    /** 답변채널ID : 외부채널 */
    public static final String QNA_CHANNEL_EXTERN_AGENT = "CHNL0000000099";
    /** 답변채널ID : 내부처리*/
    public static final String QNA_CHANNEL_OUTPUT_IGNORE = "CHNL0000000002";
    /** 답변채널ID : 스마트폰*/
    public static final String QNA_CHANNEL_OUTPUT_SMARTPHONE = "CHNL0000000008";
    
    /** 최초 지식 노드아이디 */
    public static final String INIT_KB_NODEID1_STRING = "initKbNodeId1"; // 1차메뉴 선택시 기본적으로 저장되어 있는 값을 갖고 오기 위함이다.
    public static final String INIT_BBS_INFO_ID_STRING = "initBbsInfoId"; // 커뮤니티 선택시 기본적으로 저장되어 있는 값을 갖고 오기 위함이다.
    
    ///////////////////////////////////////////////////////////////////////////
    // 마일리지 flag (t_mileage_detail.mileage_type)
    // 마일리지 flag
    /**  KNWEND:지식등록(승인) , KNWREJ:지식반려, PROREC:제안등록, PROACC:제안채택, PROREJ:제안반려, ERRREC:신고등록, ERRACC:신고채택, ERRREJ:신고반려 */
    public static final String MILEAGE_FLAG_KNWEND  = "KNWEND";
    public static final String MILEAGE_FLAG_KNWREJ  = "KNWREJ";
    public static final String MILEAGE_FLAG_PROREC  = "PROREC";
    public static final String MILEAGE_FLAG_PROACC  = "PROACC";
    public static final String MILEAGE_FLAG_PROREJ  = "PROREJ";
    public static final String MILEAGE_FLAG_ERRREC  = "ERRREC";
    public static final String MILEAGE_FLAG_ERRACC  = "ERRACC";
    public static final String MILEAGE_FLAG_ERRREJ  = "ERRREJ";
    
    // 커뮤니티 게시판 권한
    public static final int BBS_AUTH_LEVEL_ADMIN = 9; // 관리자 권한
    public static final int BBS_AUTH_LEVEL_USER = 1; // 사용자 권한
    
    // 마일리지 등급 기준일자
    public static final String KNW_MILEAGE_STANDARD_DATE = "KNW_MILEAGE_STANDARD_DATE";
    public static final String KNW_MILEAGE_STANDARD_DATE_TYPE_ALL = "ALL"; // 총누적
    public static final String KNW_MILEAGE_STANDARD_DATE_TYPE_MONTH = "MONTH"; // 월
    public static final String KNW_MILEAGE_STANDARD_DATE_TYPE_QUARTER = "QUARTER"; // 분기
    public static final String KNW_MILEAGE_STANDARD_DATE_TYPE_YEAR = "YEAR"; // 년
    
    public static final String COM_ATTACH_DOWNLOAD_URL = "COM_ATTACH_DOWNLOAD_URL";
    
    // KBHELPER 마일리지 경로(첨부파일 이미지용)
    public static final String KBHELPER_MILEAGE_ATTACH_PATH = "/kb/mileage";
    
    public static final String APPROVAL_REQUEST = "APREQ"; // 승인요청
    public static final String APPROVAL_REJECT = "APREJ"; // 승인반려
    
    public static final String ROLE_ID_ADMIN = "ACCTADM"; // 어드민
    public static final String ROLE_ID_MANAGER = "ACCTMGR"; // 매니저
    public static final String ROLE_ID_AGT = "ACCTAGT"; // 상담원
    public static final String ROLE_ID_VIEWER = "ACCTVIW"; // 뷰어
    
    // account_property 정보
    public static final String ACCOUNT_PROPERTY_MOBILE_NO_ID = "PROP0000000003"; // 휴대폰번호
    public static final String ACCOUNT_PROPERTY_EMPLOYEE_NUMBER_ID = "PROP0000000004"; // 사번
    public static final String ACCOUNT_PROPERTY_DEPT_ID = "PROP0000000005"; // 부서
    public static final String ACCOUNT_PROPERTY_TEL_NO_ID = "PROP0000000006"; // 전화번호
    public static final String ACCOUNT_PROPERTY_ALIAS_ID = "PROP0000000007"; // 별칭
    
    public static final String SURVEY_TYPE_FAQ = "FAQAF"; // 조회후 설문
    public static final String SURVEY_TYPE_SEARCH = "SCHAF"; // 검색후 설문
    
    /** 뷰어 사용자 ID내 사용금지 문자 목록 */
    public static final String PROHIBITED_ACCOUNT_ID_CHARS = "`~!@#$%^&*()=+[]{}\\|;:'\",./<> ?";
    
    /** 제품카테고리 ROOT ID */
    public static final String PRODUCT_NODE_ROOT_ID = "NDPR0000000000";
}
